Computing system with timing prediction and electronic program guide feature

ABSTRACT

In one aspect, an example method includes (i) receiving, by a set-top box receiver, a portion of a media program being distributed on a channel, wherein the distribution of the media program on the channel is scheduled to end at an end-time; (ii) while receiving the portion of the media program, predicting, by the set-top box receiver, that the distribution of the media program on the channel will end later than the scheduled end-time; (iii) responsive at least to the predicting, modifying, by the set-top box receiver, electronic program guide (EPG) data associated with the channel; (iv) using, by the set-top box receiver, the modified EPG data to generate an EPG; and (v) transmitting, by the set-top box receiver, to a media presentation device, the generated EPG for presentation on the media presentation device.

In this disclosure, unless otherwise specified and/or unless the particular context clearly dictates otherwise, the terms “a” or “an” mean at least one, and the term “the” means the at least one.

SUMMARY

In one aspect, an example method is disclosed. The method includes (i) receiving, by a receiver, a portion of a media program being distributed on a channel, wherein the distribution of the media program on the channel is scheduled to end at an end-time; (ii) while receiving the portion of the media program, predicting, by the receiver, that the distribution of the media program on the channel will end later than the scheduled end-time; (iii) responsive at least to the predicting, modifying, by the receiver, electronic program guide (EPG) data associated with the channel; (iv) using, by the receiver, the modified EPG data to generate an EPG; and (v) transmitting, by the receiver, to a media presentation device, the generated EPG for presentation on the media presentation device.

In another aspect, an example non-transitory computer-readable medium is disclosed. The computer-readable medium has stored thereon program instructions that upon execution by a processor, cause performance of a set of acts including (i) receiving, by a receiver, a portion of a media program being distributed on a channel, wherein the distribution of the media program on the channel is scheduled to end at an end-time; (ii) while receiving the portion of the media program, predicting, by the receiver, that the distribution of the media program on the channel will end later than the scheduled end-time; (iii) responsive at least to the predicting, modifying, by the receiver, EPG data associated with the channel; (iv) using, by the receiver, the modified EPG data to generate an EPG; and (v) transmitting, by the receiver, to a media presentation device, the generated EPG for presentation on the media presentation device.

In another aspect, an example receiver is disclosed. The receiver is configured for performing a set of acts including (i) receiving, by the receiver, a portion of a media program being distributed on a channel, wherein the distribution of the media program on the channel is scheduled to end at an end-time; (ii) while receiving the portion of the media program, predicting, by the receiver, that the distribution of the media program on the channel will end later than the scheduled end-time; (iii) responsive at least to the predicting, modifying, by the receiver, EPG data associated with the channel; (iv) using, by the receiver, the modified EPG data to generate an EPG; and (v) transmitting, by the receiver, to a media presentation device, the generated EPG for presentation on the media presentation device.

In one aspect, another example method is disclosed. The method includes (i) receiving, by a media presentation device, a portion of a media program being distributed on a channel, wherein the distribution of the media program on the channel is scheduled to end at an end-time; (ii) while receiving the portion of the media program, predicting, by the media presentation device, that the distribution of the media program on the channel will end later than the scheduled end-time; (iii) responsive at least to the predicting, modifying, by the media presentation device, EPG data associated with the channel; (iv) using, by the media presentation device, the modified EPG data to generate an EPG; and (v) presenting, by the media presentation device, the generated EPG.

In another aspect, another example non-transitory computer-readable medium is disclosed. The computer-readable medium has stored thereon program instructions that upon execution by a processor, cause performance of a set of acts including (i) receiving, by a media presentation device, a portion of a media program being distributed on a channel, wherein the distribution of the media program on the channel is scheduled to end at an end-time; (ii) while receiving the portion of the media program, predicting, by the media presentation device, that the distribution of the media program on the channel will end later than the scheduled end-time; (iii) responsive at least to the predicting, modifying, by the media presentation device, EPG data associated with the channel; (iv) using, by the media presentation device, the modified EPG data to generate an EPG; and (v) presenting, by the media presentation device, the generated EPG.

In another aspect, an example media presentation device is disclosed. The media presentation device is configured for performing a set of acts including (i) receiving, by the media presentation device, a portion of a media program being distributed on a channel, wherein the distribution of the media program on the channel is scheduled to end at an end-time; (ii) while receiving the portion of the media program, predicting, by the media presentation device, that the distribution of the media program on the channel will end later than the scheduled end-time; (iii) responsive at least to the predicting, modifying, by the media presentation device, EPG data associated with the channel; (iv) using, by the media presentation device, the modified EPG data to generate an EPG; and (v) presenting, by the media presentation device, the generated EPG.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified block diagram of an example computing device.

FIG. 2 is a simplified block diagram of an example media system.

FIG. 3 is a simplified diagram of an example EPG.

FIG. 4 is a simplified diagram of another example EPG.

FIG. 5 is a simplified diagram of another example EPG.

FIG. 6 is a simplified diagram of another example EPG.

FIG. 7 is a flow chart of an example method.

FIG. 8 is a flow chart of another example method.

DETAILED DESCRIPTION

I. Overview

A media system can perform various acts and/or functions related to the distribution and/or presentation of media content (e.g., audio content and/or video content). The media system can include various components, such as a media content source, a media content distributor, a set-top box receiver, and a media presentation device. The source and the distributor can each take various forms. For example, the source can be a broadcaster and the distributor can be a multi-channel distributor (e.g., a cable provider). The receiver and the media presentation device can also take various forms. For example, the receiver can be a cable receiver and the media presentation device can be a television.

With this arrangement, the source can deliver media content to the distributor for distribution to the receiver, and the distributor can distribute the media content to the receiver on a discrete channel (e.g., on a particular frequency). The receiver can then respond to user input or one or more other trigger events by tuning to a selected channel and transmitting to the media presentation device the media content that is arriving on the selected channel. The media presentation device can then receive and present the media content.

In some cases, the distributor can distribute media content based on a distribution schedule, which can specify which media programs are scheduled for distribution, when they are scheduled for distribution, and on what channels they are scheduled to be distributed on. In some cases, a distribution schedule can specify that a distributor is scheduled to distribute a first media program, and is further scheduled to distribute a second media program immediately after or soon after distributing the first media program. As such, a scheduled end-time of the first media program can correspond with a scheduled start-time of the second media program.

In the case where the distributor distributes the first and second media programs according to the distribution schedule, the media presentation device can receive and present the media programs based on the schedule. However, for various reasons, the distributor may not distribute the media programs according to the schedule. Thus, the media presentation device may not receive and present the media programs based on the schedule.

To illustrate how this can happen, assume that the first media program is a media program covering a sporting event, and that the distribution of the first media program is a live broadcast. Further, assume that the sporting event, the first media program, and the distribution of the first media program run ten minutes longer than expected. Given this, the distributor can distribute the first media program until an end time that is ten minutes beyond the scheduled end-time, and can then transition to distributing the second media program (at a start time that is ten minutes later than the scheduled start-time).

In this scenario, if the end-user of the media presentation device wants to watch the ten minute overrun portion of the first media program, the end-user can do so. However, if the end-user instead wants to watch the first ten minutes of the second media program on the media presentation device, the end-user may become frustrated when the media presentation device presents the ten minute overrun portion of the first media program instead. Thus, this particular technical arrangement may present an issue.

However, features of the present disclosure can help address this issue and provide an improvement to the relevant technical field. These features will now be described. As noted above, the distributor can transmit the first media program distributed on the channel to the receiver. As such, the receiver can receive a portion of the first media program being distributed on the channel.

Further, the receiver can predict that the distribution of the first media program on the channel will end later than the scheduled end-time. The receiver can do this in various ways. For example, in the case where the distribution of the first media program is a live broadcast of an event, the receiver can (i) use the distribution schedule to determine the scheduled end-time of the first media program, (ii) receive data representing a state of the event that is a subject of the first media program, (iii) use the received data to predict an end time of the first media program, and (iv) determine that the predicted end-time is later than the determined scheduled end-time.

Responsive at least to the predicting, the receiver can (i) retrieve from a source other than the channel, a portion of the second media program, and (ii) after the scheduled start-time, the receiver can output the retrieved portion of the second media program. In one example, the source other than the channel can be another distributor. For example, in the case where the first distributor is a broadcast-based distributor and the second (other) distributor is an Internet service provider, this can allow the receiver to retrieve the portion of the second media program “over the top” of the broadcast first media program.

Recall the scenario discussed above where the end-user may become frustrated when the media presentation device presents the ten minutes overrun portion of the first media program instead of the first ten minutes of the second media program. As shown with the features discussed above, the media system can address this issue by allowing the end-user to watch the first ten minutes of the second media program despite the distributor distributing a portion of the first media program beyond its scheduled end-time.

As a related matter, to help an end-user decide what to watch, the media presentation device can present an EPG, which can provide various program-related and scheduling-related data. In one example, a source device, such as an EPG server, can store and manage EPG data, and can routinely transmit the data to a destination device, such as the receiver or the media presentation device, to allow a corresponding EPG to be generated and presented on the media presentation device for the end-user's benefit.

In practice, where a media system includes many receivers and/or media presentation devices, the EPG server may need to transmit such EPG data many times to many different devices, which can be a drain on computing, network and/or other system resources. Given this, an EPG server may be configured to transmit updated EPG data somewhat infrequently.

However, this can result in the EPG including outdated information, particularly in the types of situations discussed above where a media program covering an event runs longer than originally expected. In some instances, this can be frustrating to an end-user. Thus, this particular technical arrangement may present an additional issue. However, features of the present disclosure can help address this additional issue and provide yet another improvement to the relevant technical fields. These features will now be described.

As noted above, the first distributor can transmit the first media program distributed on the channel to the receiver. As such, the receiver can receive a portion (i.e., some or all) of the first media program being distributed on the channel. In addition, the receiver can predict that the distribution of the first media program on the channel will end later than the scheduled end-time. While receiving the portion of the media program, the receiver can predict that the distribution of the media program on the channel will end later than the scheduled end-time. Responsive at least to the predicting, the receiver can then modify EPG data associated with the channel. The receiver can then use the modified EPG data to generate an EPG, and can transmit the generated EPG to the media presentation device for presentation on the media presentation device.

The receiver can modify the EPG data in various ways. For example, the receiver can modify the EPG data by adding to the EPG data an indication that the distribution of the first media program on the channel will end later than the scheduled end-time, or by adding to the EPG data an indication that the distribution of the second media program on the channel will start later than the scheduled start-time.

This can enable the receiver 210 to generate an EPG that includes either or both of these indications. In other examples, the receiver can modify the EPG data by modifying a portion of the EPG data that specifies the scheduled end-time of the first media program, or by modifying a portion of the EPG data that specifies the scheduled start-time of the second media program. This can enable the receiver to generate an EPG that reflects the modified scheduled end-time and/or the modified scheduled start-time.

Recall the scenario discussed above where the end-user may become frustrated when the scheduled end-time and/or the scheduled start-time is not accurately reflected in the EPG. As shown with the features discussed above, the media system can address this issue by providing an improved EPG with more current information, along with other related features, which are described in greater detail below.

II. Example Architecture

A. Computing Device

FIG. 1 is a simplified block diagram of an example computing device 100. The computing device 100 can be configured to perform and/or can perform one or more acts and/or functions, such as those described in this disclosure. The computing device 100 can include various components, such as a processor 102, a data storage unit 104, a communication interface 106, and/or a user interface 108. Each of these components can be connected to each other via a connection mechanism 110.

In this disclosure, the term “connection mechanism” means a mechanism that facilitates communication between two or more components, devices, systems, or other entities. A connection mechanism can be a relatively simple mechanism, such as a cable or system bus, or a relatively complex mechanism, such as a packet-based communication network (e.g., the Internet). In some instances, a connection mechanism can include a non-tangible medium (e.g., in the case where the connection is wireless).

The processor 102 can include a general-purpose processor (e.g., a microprocessor) and/or a special-purpose processor (e.g., a digital signal processor (DSP)). The processor 102 can execute program instructions included in the data storage unit 104 as discussed below.

The data storage unit 104 can include one or more volatile, non-volatile, removable, and/or non-removable storage components, such as magnetic, optical, and/or flash storage, and/or can be integrated in whole or in part with the processor 102. Further, the data storage unit 104 can take the form of a non-transitory computer-readable storage medium, having stored thereon program instructions (e.g., compiled or non-compiled program logic and/or machine code) that, upon execution by the processor 102, cause the computing device 100 to perform one or more acts and/or functions, such as those described in this disclosure. These program instructions can define, and/or be part of, a discrete software application. In some instances, the computing device 100 can execute program instructions in response to receiving an input, such as an input received via the communication interface 106 and/or the user interface 108. The data storage unit 104 can also store other types of data, such as those types described in this disclosure.

The communication interface 106 can allow the computing device 100 to connect with and/or communicate with another entity according to one or more protocols. In one example, the communication interface 106 can be a wired interface, such as an Ethernet, High-Definition Multimedia Interface (HDMI), or coaxial interface. In another example, the communication interface 106 can be a wireless interface, such as a cellular or WI-FI interface. In this disclosure, a connection can be a direct connection or an indirect connection, the latter being a connection that passes through and/or traverses one or more entities, such as a router, switcher, or other network device. Likewise, in this disclosure, a transmission can be a direct transmission or an indirect transmission.

The user interface 108 can include hardware and/or software components that facilitate interaction between the computing device 100 and a user of the computing device 100, if applicable. As such, the user interface 108 can include input components such as a keyboard, a keypad, a mouse, a remote control, a touch-sensitive panel, and/or a microphone, and/or output components such as a display device (which, for example, can be combined with a touch-sensitive panel), a sound speaker, and/or a haptic feedback system.

The computing device 100 can take various forms, such as a server, a workstation terminal, a desktop computer, a laptop, a tablet, a mobile phone, a set-top box receiver, and/or a television.

B. Media System

FIG. 2 is a simplified block diagram of an example media system 200. The media system 200 can perform various acts and/or functions related to the distribution and/or presentation of media content (e.g., audio content and/or video content), and can be implemented as a computing system. In this disclosure, the term “computing system” means a system that includes at least one computing device. In some instances, a computing system can include one or more other computing systems.

The media system 200 can include various components, such as a first media content source (referred to herein as a “first source”) 202, a first media content distributor (referred to herein as a “first distributor”) 204, a second media content source (referred to herein as a “second source”) 206, a second media content distributor (referred to herein as a “second distributor”) 208, a set-top box receiver (referred to herein as a “receiver”) 210, and/or a media presentation device 212, each of which can be implemented as a computing system.

The media system 200 can also include a connection mechanism 214, which connects the first source 202 with the first distributor 204; a connection mechanism 216, which connects the second source 206 with the second distributor 208; a connection mechanism 218, which connects the first distributor 204 with the receiver 210; a connection mechanism 220, which connects the second distributor 208 with the receiver 210; and a connection mechanism 222, which connects the receiver 210 with the media presentation device 212. In practice, the media system 200 is likely to include many of some or all of the example components described above, which can allow for many media content sources to provide media content to many media presentation devices.

The first source 202 and the first distributor 204 can each take various forms. For example, the first source 202 can be a broadcaster and/or a web server, and the first distributor 204 can be a multi-channel distributor (e.g., a local content provider, a cable provider, a satellite provider, an over-the-air broadcast provider, and/or a web aggregator) and/or an Internet service provider. Likewise, the second source 206 and the second distributor 208 can take various forms such as the respective examples provided above. In some cases, the first source 202 and the first distributor 204 can be integrated together. Likewise, the second source 206 and the second distributor 208 can be integrated together.

The receiver 210 and the media presentation device 212 can each take various forms as well. For example, the receiver can be a cable receiver, a satellite receiver, an over-the-air broadcast receiver, and/or a streaming media receiver, and the media presentation device 212 can be a television or another display device, or a loudspeaker or another audio device. In some cases, the receiver 210 and the media presentation device 212 can be integrated together.

III. Example Operations

Referring again to FIG. 2, within the media system 200, the first source 202 can transmit media content to the first distributor 204, which can transmit the media content to the receiver 210. The receiver 210 can then transmit the media content to the media presentation device 212, which can present the media content to an end-user using any media presentation technique now known or later discovered.

In one example, the first source 202 can be a national broadcaster, such as ABC, NBC, CBS, FOX, HBO, or CNN, and the first distributor 204 can be a local affiliate or local content provider in a particular designated market area (DMA). Further, the receiver 210 and the media presentation device 212 can be located at a customer's premises, such as a home or business establishment. With this or another arrangement, the first source 202 can deliver media content to the first distributor 204 for distribution to the receiver 210, and the first distributor 204 can distribute the media content to the receiver 210 on a discrete channel (e.g., on a particular frequency). The receiver 210 can then respond to user input or one or more other trigger events by tuning to a selected channel and transmitting to the media presentation device 212 the media content that is arriving on the selected channel. The media presentation device 212 can then receive and present the media content (e.g., by displaying or otherwise presenting the content). For simplicity, with respect to a given portion of media content, this disclosure refers to these and similar types of acts (e.g., delivering or distributing a portion of media content, receiving the portion of media content, and presenting the portion of media content content) as occurring simultaneously. However, it should be appreciated that in practice, various types of transmission or processing delays can occur.

In some cases, the first distributor 204 can distribute media content based on a distribution schedule. In one example, where the first distributor is a broadcast-based distributor, the distribution schedule may be referred to in the industry as a broadcast schedule.

A distribution schedule can specify which media programs are scheduled for distribution, when they are scheduled for distribution, and on what channels they are scheduled to be distributed on. For instance, a distribution schedule can specify that the first source 202 is scheduled to start distributing a given media program on a given channel at a scheduled start-time and is scheduled to stop distributing that media program on that channel at a scheduled end-time. In some cases, a media program can include commercials or other content as part of the media program.

In some cases, a distribution schedule can specify that a media content distributor is scheduled to distribute a first media program, and is further scheduled to distribute a second media program immediately after or soon after distributing the first media program. As such, the scheduled end-time of the first media program can correspond with the scheduled start-time of the second media program. In practice, the scheduled end-time of the first media program can be proximate to the scheduled start-time of the second media program, and can represent the transition point between the distribution of the first media program and the distribution of the second media program.

To illustrate some of these concepts, consider an example distribution schedule that specifies that the first distributor 204 is scheduled to start distributing a first media program on a channel at a scheduled start-time of 08:00:00 (in hours::minutes::seconds format, and according to a 24-hour clock), and is scheduled to stop distributing the first media program at a scheduled end-time of 08:29:59. The schedule further specifies that the first distributor 204 is scheduled to start distributing a second media program on the same channel at a scheduled start-time of 08:30:00, and is scheduled to stop distributing the second media program at a scheduled end-time of 08:59:59. Thus, the scheduled end-time of the first media program corresponds with the scheduled start-time of the second media program. In some examples, there could be commercials or other content separating the first and second media programs, but even in this case, the scheduled end-time of the first media program can correspond with the scheduled start-time of the second media program.

In the case where the first distributor 204 distributes the first and second media programs according to the distribution schedule, the media presentation device 212 can receive and present the media programs based on the schedule. However, for various reasons, the first distributor 204 may not distribute the media programs according to the schedule. Thus, the media presentation device 212 may not receive and present the media programs based on the schedule.

To illustrate how this can happen, assume that the first media program is a media program covering a sporting event, and that the distribution of the first media program is a live broadcast. Further, assume that the sporting event, the first media program, and the distribution of the first media program run ten minutes longer than expected. Given this, the first distributor 204 can distribute the first media program until an end time that is ten minutes beyond the scheduled end-time (until 08:39:59), and can then transition to distributing the second media program (at a start time that is ten minutes later than the scheduled start-time). As such, the media presentation device 212 can present the first media program until 08:39:59, and can then transition to presenting the second media program thereafter.

In this scenario, if the end-user of the media presentation device 212 wants to watch the ten minute overrun portion of the first media program, the end-user can do so. However, if the end-user instead wants to watch the first ten minutes of the second media program on the media presentation device 212, the end-user may become frustrated when the media presentation device 212 presents the ten minute overrun portion of the first media program instead. Thus, this particular technical arrangement may present an issue.

However, features of the present disclosure can help address this issue and provide an improvement to the relevant technical field (i.e., the field of media content distribution and presentation technology). These features will now be described. As noted above, the first distributor 204 can transmit the first media program distributed on the channel to the receiver 210. As such, the receiver 210 can receive a portion (i.e., some or all) of the first media program being distributed on the channel.

Further, the receiver 210 can predict that the distribution of the first media program on the channel will end later than the scheduled end-time. The receiver 210 can do this in various ways. For example, in the case where the distribution of the first media program is a live broadcast of an event, the receiver 210 can (i) use the distribution schedule to determine the scheduled end-time of the first media program, (ii) receive data representing a state of the event that is a subject of the first media program, (iii) use the received data to predict an end time of the first media program, and (iv) determine that the predicted end-time is later than the determined scheduled end-time.

The receiver 210 can obtain the distribution schedule in various ways. In one example, the receiver 210 can retrieve the schedule (perhaps in the form of an end-user facing distribution schedule, commonly known as an electronic program guide (EPG)) from another entity, such as the first distributor 204.

As noted above, the receiver 210 can receive data representing a state of the event that is the subject of the first media program. The receiver 210 can do this in various ways. For example, the receiver 210 can retrieve this data from another entity, such as server.

Further, as noted above, the receiver 210 can use the received data to predict an end time of the first media program. In one example, the receiver 210 can use the received data to predict a timing attribute of the distribution, and based on the predicted timing attribute, the receiver 210 can predict the end time of the first media program. For instance, the predicted timing-attribute can be an indication of a total duration of the event or a duration remaining in the event. In another example, the predicted timing-attribute can be an indication that the event is anticipated to extend beyond a predetermined time.

In some cases, the receiver 210 can determine the predicted end-time of the distribution as the same time as the predicted end-time of the event. In other cases, the receiver 210 can determine the predicted end-time of the distribution as the predicted end-time of the event plus some amount of additional time (e.g., two minutes) for safe measure.

In some cases, the receiver 210 can receive data corresponding to a similar past event. For example, where the event is a sporting event that includes a game, the past event can be a game that occurred under similar circumstances in the past, such as with the same or similar participants, score, or game-clock time. For instance, where the event includes a baseball game between two teams, the data corresponding to the similar past event can include data corresponding to a past baseball game in which the two teams played, a past baseball game having the same score in the same inning, or a past baseball game having one or more other similarities to the current baseball game.

As such, the receiver 210 can predict the timing attribute of the distribution based on the received data representing the state of the event, and the received data corresponding to the past event. For example, the receiver 210 can compare the data representing a state of the past event to the retrieved data representing the state of the event, and based on that comparison determine a predicted end-time for the event. As noted above, the receiver 210 can then determine that the predicted end-time is later than the determined scheduled end-time.

In some cases, a server or another entity can predict that that the distribution of the first media program on the channel will end later than the scheduled end-time, and can transmit a message indicating this to the receiver 210. As such, the receiver 210 can receive this message and can predict that that the distribution of the first media program on the channel will end later than the scheduled end-time based on the received message. In another example, the server can transmit an indication of a predicted timing attribute or other related data to the receiver 210, which can receive and use this information to predict that that the distribution of the first media program on the channel will end later than the scheduled end-time.

Responsive at least to the predicting, the receiver 210 can (i) retrieve from a source other than the channel, a portion (e.g., some or all) of the second media program, and (ii) after the scheduled start-time, the receiver 210 can output the retrieved portion of the second media program. As with the first source 202 and the first distributor 204, the second source 206 can also transmit media content to the second distributor 208, which can transmit the media content to the receiver 210. As such, in one example, the second distributor 208 can be the source other than the channel. In the case where the first distributor 204 is a broadcast-based distributor and second distributor 208 is an Internet service provider, this can allow the receiver 210 to retrieve the portion of the second media program “over the top” of the broadcast first media program.

In some instances, the receiver 210 can extract data from the distribution schedule, and can use the extracted data to identify the second media program, thus facilitating the receiver 210 retrieving the portion of the second media program from the second distributor 208.

In some cases, the receiver 210 can receive the portion of the first media program via a first communication interface of the receiver 210, and can retrieve the portion of the second media program via a second communication interface of the receiver 210 that is different from the first communication interface. For instance, where the first distributor 204 is a broadcast-based distributor and second distributor 208 is an Internet service provider, the first communication interface of the receiver 210 can be a coaxial or other interface configured to receive the portion of first media content via a broadcast-based distribution system, and the second communication interface of the receiver 210 can be an Ethernet or other interface configured to receive the portion of second media content via a multicast-based or unicast-based distribution system.

In some cases, such as where second media program is prerecorded, the receiver 210 can retrieve or can begin retrieving the portion of the second media program from the second source 206 before its scheduled start-time. In other cases, such as where the second media program is scheduled to be provided as a live broadcast, the receiver 210 can retrieve and output the portion of the second media program while retrieving the portion of the second media program. In still other examples, the receiver 210 can retrieve or can begin retrieving the portion of the second media program from the second distributor 208 after its scheduled start-time.

The receiver 210 can output the retrieved portion of the second media program in various ways. For example, the receiver 210 can output the retrieved portion of the second media program by transmitting the retrieved portion of the second media program to the media presentation device 212, which can receive and present the retrieved portion to the end-user.

Recall the scenario discussed above where the end-user may become frustrated when the media presentation device 212 presents the ten minutes overrun portion of the first media program instead of the first ten minutes of the second media program. As shown with the features discussed above, the media system 200 can address this issue by allowing the end-user to watch the first ten minutes of the second media program despite the first distributor 204 distributing a portion of the first media program beyond its scheduled end-time. As such, the receiver 210 outputting the retrieved portion of the second media program can include the receiver 210 switching from outputting the received portion of the first media program to outputting the retrieved portion of the second media program. Then, at a later time, (e.g., after the scheduled end-time of the second media program) the receiver 210 can switch back to presenting media content received from the first distributor 204.

Given that some end-users may wish to watch the overrun portion of the first media program, whereas other end-users may instead wish to watch the beginning of the second media program, the receiver 210 can allow the end-user to choose which of the two media programs to output when such a timing conflict exists. For example, proximate to the scheduled end-time of the first media program, the receiver 210 can output two selectable user-interface objects, a first of which corresponds with the first media program, and a second of which corresponds with the second media program. In this way, the end-user can select (e.g., using a remote control device) one of the objects to indicate which of the two media programs the end-user wishes to watch. In one example, the receiver 210 can detect a selection of the first selectable user-interface object, in which case the receiver 210 can continue outputting the first media program. However, in another example, the receiver 210 can detect a selection of the second selectable user-interface object, and responsive to at least the detecting, the receiver can switch from outputting the received portion of the first media program to outputting the retrieved portion of the second media program.

In one example, the receiver 210 can output the selectable user-interface objects proximate to the scheduled end-time. This can prompt the end-user and give the end-user an opportunity to switch from watching the first media program to watching the second media program at a desirable time.

In other examples, the receiver 210 can allow the end-user to set default preferences though a settings menu of the like to handle such timing conflicts. For example, the receiver 210 can allow the end-user to specify priority rankings for various media programs or types of media programs (e.g., sporting events) to allow the receiver 210 to resolve the types of conflicts described above in an automated manner.

To help an end-user decide what to watch, the media presentation device 212 can present an EPG, which can provide various program-related and scheduling-related data. FIG. 3 provides a simplified diagram of an example EPG 300. In this example, the EPG 300 includes a timing bar header 302, which includes various time point markers. Under the timing bar header, the EPG 300 includes three rows 304 a-c, each of which corresponds to a respective channel and media program information for that channel. The media program information is arranged under the timing bar header 302 so as to indicated when a given media program begins and ends. For example, according to the EPG 300, on Channel A, Program A is scheduled to start at 8:00 pm and is scheduled to end at 8:30 pm. Further, on Channel A, Program B is scheduled to start at 8:30 pm and is scheduled to end at 9:00 pm, and so on. Similarly, on Channel B, Program D is scheduled to start at 8:00 pm and is scheduled to end at 9:00 pm, and so on.

In one example, a source device, such as an EPG server, can store and manage EPG data (e.g., data indicating which media programs are scheduled for distribution, when they are scheduled for distribution, and on what channels they are scheduled to be distributed on), and can routinely transmit the data to a destination device, such as the receiver 210 or the media presentation device 212, to allow a corresponding EPG to be generated and presented on the media presentation device 212. In practice, where there are likely to be many receivers and/or media presentation devices in the media system 200, the EPG server may therefore need to transmit such EPG data many times to many different devices, which can be a drain on computing, network and/or other system resources. Given this, an EPG server may be configured to transmit updated EPG data fairly infrequently. For example, the EPG server may be configured to transmit updated EPG data only once every 24 hours.

This can result in the EPG including outdated information, particularly in the types of situations discussed above where a media program covering an event runs longer than originally expected. This can be frustrating to an end-user. As such, this particular technical arrangement may present another issue. However, features of the present disclosure can help address this additional issue and provide an improvement to the relevant technical fields. These features will now be described.

As noted above, the first distributor 204 can transmit the first media program distributed on the channel to the receiver 210. As such, the receiver 210 can receive a portion (i.e., some or all) of the first media program being distributed on the channel. Further, the receiver 210 can predict that the distribution of the first media program on the channel will end later than the scheduled end-time, such as in any of the ways described above. In addition, while receiving the portion of the media program, the receiver 210 can predict that the distribution of the media program on the channel will end later than the scheduled end-time. Responsive at least to the predicting, the receiver 210 can modify EPG data associated with the channel. In one example, this EPG data can be EPG data that the receiver 210 previously received from an EPG server, and which the receiver 210 stores in a data storage unit of the receiver 210. The receiver 210 can then use the modified EPG data to generate an EPG, and can transmit the generated EPG to the media presentation device 212 for presentation on the media presentation device 212.

In one example, the receiver 210 can modify the EPG data by adding to the EPG data an indication that the distribution of the first media program on the channel will end later than the scheduled end-time, or by adding to the EPG data an indication that the distribution of the second media program on the channel will start later than the scheduled start-time.

This can enable the receiver 210 to generate an EPG that includes either or both of these indications. FIG. 4 provides a simplified diagram of another example EPG 400 that illustrates this. The EPG is the same as the EPG 300, except that the EPG 400 provides an indication that Program F is expected to end late, and that Program G is expected to start late. Although the example EPG 400 provides these indications in the form of supplemental text, it should be appreciated that these types of indications can be provided in other ways as well, such as by changing the font, style, of color of the name of a program, or by changing the color of the rectangular or other shaped region in which the name of the program is contained, among other possibilities.

In other examples, the receiver 210 can modify the EPG data by modifying a portion of the EPG data that specifies the scheduled end-time of the first media program, or by modifying a portion of the EPG data that specifies the scheduled start-time of the second media program.

This can enable the receiver 210 to generate an EPG that reflects the modified scheduled end-time and/or the modified scheduled start-time. FIG. 5 provides a simplified diagram of another example EPG 500 that illustrates this. The EPG 500 is the same as the EPG 300, except that the EPG 500 reflects a modified scheduled end-time for Program F and a modified scheduled start-time for Program G (i.e., both 15 minutes later, now at 8:45 pm).

In some instances, it may be desirable to provide the end-user with an indication of both the originally scheduled end-time of the first media program and the modified scheduled end-time of the first media program. Likewise, it may be desirable to provide the end-user with an indication of both the originally scheduled start-time of the second media program and the modified scheduled start-time of the second media program.

This can be especially beneficial when the end-user has the option of selectively choosing which of the first and second media programs to watch, as discussed above. FIG. 6 provides a simplified diagram of another example EPG 600 that illustrates an example way of providing this information. The EPG 600 is the same as the EPG 300, except that the EPG 600 reflects a modified scheduled end-time for Program F and a modified scheduled start-time for Program G (i.e., both 15 minutes later, at 8:45 pm), while still showing the originally scheduled end-time of Program F and the originally scheduled start-time of Program G (both at 8:30 pm).

In some cases, an EPG can be interactive. As such, the end-user can navigate regions or other elements of the EPG (e.g., via a remote controller) and can use them to select which media program to watch. Based on the end-user's selection, the receiver 210 can perform various operations to enable the end-user to watch the selected media program. For instance, where appropriate, based on the end-user's selection, the receiver 210 can change channels or to retrieve and/or present media content as described above in connection with the “over the top” media content retrieval or similar type situations. Thus, for example, in the scenario where an end-user is watching Program F on Channel C between 8:30 pm and 8:45 pm, based on the end-user navigating to and selecting Program G from the EPG 600, the receiver 210 can transition from outputting Program F to outputting Program G, thus causing the media presentation device 212 to transition from presenting Program F to presenting Program G.

Recall again the scenario discussed above where the end-user may become frustrated when a scheduled end-time and/or a scheduled start-time is not accurately reflected in the EPG. As shown with the features discussed above, the media system 200 can address this issue by providing an EPG that provides more current information and other related features.

Although some of the acts and/or functions described in this disclosure have been described as being performed by a particular entity, the acts and/or functions can be performed by any entity, such as those entities described in this disclosure. For example, the media presentation device 212 can perform one or more of the acts and/or functions described as being performed by the receiver 210. Other arrangements are possible as well. For example, rather than the first source 202 providing the first media content to the receiver 210 via the first distributor 204, the first source 202 can provide the first media content directly to the media presentation device 212. Likewise, rather than the second source 206 providing the second media content to the receiver 210 via the second distributor 208, the second source 206 can provide the second media content directly to the media presentation device 212.

Further, rather than the first source 202 and/or the first distributor 204 providing the first media content to the media presentation device 212 via the receiver 210, the first source 202 and/or the first distributor 204 can provide the first media content to the media presentation device 212 directly. Likewise, rather than the second source 206 and/or the second distributor 208 providing the second media content to the media presentation device 212 via the receiver 210, the second source 206 and/or the second distributor 208 can provide the second media content to the media presentation device 212 directly. Various other arrangements are possible as well.

FIG. 7 is a flow chart illustrating an example method 700.

At block 702, the method 700 can include receiving, by a receiver, a portion of a media program being distributed on a channel, wherein the distribution of the media program on the channel is scheduled to end at an end-time.

At block 704, the method 700 can include while receiving the portion of the media program, predicting, by the receiver, that the distribution of the media program on the channel will end later than the scheduled end-time.

At block 706, the method 700 can include responsive at least to the predicting, modifying, by the receiver, EPG data associated with the channel.

At block 708, the method 700 can include using, by the receiver, the modified EPG data to generate an EPG.

At block 710, the method 700 can include transmitting, by the receiver, to a media presentation device, the generated EPG for presentation on the media presentation device.

FIG. 8 is a flow chart illustrating an example method 800.

At block 802, the method 800 can include receiving, by a media presentation device, a portion of a media program being distributed on a channel, wherein the distribution of the media program on the channel is scheduled to end at an end-time.

At block 804, the method 800 can include while receiving the portion of the media program, predicting, by the media presentation device, that the distribution of the media program on the channel will end later than the scheduled end-time.

At block 806, the method 800 can include responsive at least to the predicting, modifying, by the media presentation device, EPG data associated with the channel.

At block 808, the method 800 can include using, by the media presentation device, the modified EPG data to generate an EPG.

At block 810, the method 800 can include outputting, by the media presentation device, the generated EPG.

IV. Example Variations

Although some of the acts and/or functions described in this disclosure have been recited in a particular order, the acts and/or functions need not be performed in the order recited. However, in some instances, it can be desired to perform the acts and/or functions in the order recited. Further, each of the acts and/or functions can be performed responsive to one or more of the other acts and/or functions. Also, not all of the acts and/or functions need to be performed to achieve one or more of the benefits provided by this disclosure, and therefore not all of the acts and/or functions are required.

Although certain variations have been discussed in connection with one or more examples of this disclosure, these variations can also be applied to all of the other examples of this disclosure as well.

Although select examples of this disclosure have been described, alterations and permutations of these examples will be apparent to those of ordinary skill in the art. Other changes, substitutions, and/or alterations are also possible without departing from the invention in its broader aspects as set forth in the following claims. 

The invention claimed is:
 1. A method comprising: receiving, by a set-top box receiver, a first portion of a first media program distributed on a channel, the distribution of the first media program on the channel is scheduled to end at a scheduled end-time; while receiving the first portion of the first media program, predicting, by the set-top box receiver, a predicted end-time for the first media program identifying that the distribution of the first media program on the channel will end later than the scheduled end-time, the predicting including: receiving data representing a first state of the first media program, the first state corresponding to first information including a game score associated with the first media program; receiving data representing a second state of a past event, the second state corresponding to second information including the game score associated with the first media program, the past event having a subject of the first media program, the past event separate from the first media program; comparing the first state to the second state; and predicting the predicted end-time based on the comparison; responsive at least to the predicting: modifying, by the set-top box receiver, electronic program guide (EPG) data associated with the channel; and retrieving, by the set-top box receiver, a second portion of a second media program from a source other than the channel, a distribution of the second media program on the channel is scheduled to start at a scheduled start-time that corresponds with the scheduled end-time, the second portion of the second media program based on the predicted end-time; using, by the set-top box receiver, the modified EPG data to generate an EPG; and transmitting, by the set-top box receiver, to a media presentation device, the generated EPG for presentation on the media presentation device.
 2. The method of claim 1, further including determining that the distribution of the first media program on the channel will end later than the scheduled end-time by: using a distribution schedule to determine the scheduled end-time; comparing the scheduled end-time to the predicted end-time of the first media program; and determining that the predicted end-time is later than the scheduled end-time.
 3. The method of claim 1, wherein modifying the EPG data includes adding to the EPG data, an indication that the distribution of the first media program on the channel will end later than the scheduled end-time.
 4. The method of claim 1, wherein the modifying of the EPG data includes adding to the EPG data an indication that the distribution of the second media program on the channel will start later than the scheduled start-time.
 5. The method of claim 1, wherein the modifying of the EPG data includes modifying a portion of the EPG data that specifies the scheduled start-time of the second media program.
 6. A method comprising: receiving, by a media presentation device, a first portion of a first media program distributed on a channel, the distribution of the first media program on the channel is scheduled to end at a scheduled end-time; while receiving the first portion of the first media program, predicting, by the media presentation device, a predicted end-time for the first media program identifying that the distribution of the first media program on the channel will end later than the scheduled end-time, the predicting including: receiving data representing a first state of the first media program, the first state corresponding to first information including a game score associated with the first media program; receiving data representing a second state of a past event, the second state corresponding to second information including the game score associated with the first media program, the past event having a subject of the first media program, the past event separate from the first media program; comparing the first state to the second state; and predicting the predicted end-time based on the comparison; responsive at least to the predicting: modifying, by the media presentation device, electronic program guide (EPG) data associated with the channel; and retrieving, by the media presentation device, a second portion of a second media program from a source other than the channel, a distribution of the second media program on the channel is scheduled to start at a scheduled start-time that corresponds with the scheduled end-time, the second portion of the second media program based on the predicted end-time; using, by the media presentation device, the modified EPG data to generate an EPG; and presenting, by the media presentation device, the generated EPG.
 7. The method of claim 6, further including determining that the distribution of the first media program on the channel will end later than the scheduled end-time by: using a distribution schedule to determine the scheduled end-time; comparing the scheduled end-time to the predicted end-time of the first media program; and determining that the predicted end-time is later than the scheduled end-time.
 8. The method of claim 6, wherein the modifying of the EPG data includes adding to the EPG data an indication that the distribution of the second media program on the channel will start later than the scheduled start-time.
 9. The method of claim 6, wherein the modifying of the EPG data includes modifying a portion of the EPG data that specifies the scheduled start-time of the second media program.
 10. A non-transitory computer-readable medium comprising machine-readable instructions that, upon execution by a processor, cause the processor to at least: receive, by a set-top box receiver, a first portion of a first media program distributed on a channel, the distribution of the first media program on the channel is scheduled to end at a scheduled end-time; while receiving the first portion of the first media program, predict, by the set-top box receiver, a predicted end-time for the first media program identifying that the distribution of the first media program on the channel will end later than the scheduled end-time, the predicting including: receiving data representing a first state of the first media program, the first state corresponding to first information including a game score associated with the first media program; receiving data representing a second state of a past event, the second state corresponding to second information including the game score associated with the first media program, the past event having a subject of the first media program, the past event separate from the first media program; comparing the first state to the second state; and predicting the predicted end-time based on the comparison; responsive at least to the predicting: modify, by the set-top box receiver, electronic program guide (EPG) data associated with the channel; and retrieve, by the set-top box receiver, a second portion of a second media program from a source other than the channel, a distribution of the second media program on the channel is scheduled to start at a scheduled start-time that corresponds with the scheduled end-time, the second portion of the second media program based on the predicted end-time; use, by the set-top box receiver, the modified EPG data to generate an EPG; and transmit, by the set-top box receiver, to a media presentation device, the generated EPG for presentation on the media presentation device.
 11. The non-transitory computer-readable medium of claim 10, wherein the instructions, when executed, cause the processor to determine that the distribution of the first media program on the channel will end later than the scheduled end-time by: using a distribution schedule to determine the scheduled end-time; comparing the scheduled end-time to the predicted end-time of the first media program; and determining that the predicted end-time is later than the scheduled end-time.
 12. The non-transitory computer-readable medium of claim 10, wherein the instructions, when executed, cause the processor to modify the EPG data by adding to the EPG data an indication that the distribution of the first media program on the channel will end later than the scheduled end-time.
 13. The non-transitory computer-readable medium of claim 10, wherein the first media program is a sporting event that includes a game, the game score is associated with the game, the first information includes at least one of (1) one or more participants of the game or (2) a game-clock time of the game, and the second information includes at least one of (1) the one or more participants of the game or (2) the game-clock time of the game.
 14. A non-transitory computer-readable medium comprising machine-readable instructions that, upon execution by a processor, cause the processor to at least: receive, by a media presentation device, a first portion of a first media program distributed on a channel, the distribution of the first media program on the channel is scheduled to end at a scheduled end-time; while receiving the first portion of the first media program, predict, by the media presentation device, a predicted end-time for the first media program identifying that the distribution of the first media program on the channel will end later than the scheduled end-time, the predicting including: receiving data representing a first state of the first media program, the first state corresponding to first information including a game score associated with the first media program; receiving data representing a second state of a past event, the second state corresponding to second information including the game score associated with the first media program, the past event having a subject of the first media program, the past event separate from the first media program; comparing the first state to the second state; and predicting the predicted end-time based on the comparison; responsive at least to the predicting: modify, by the media presentation device, electronic program guide (EPG) data associated with the channel; and retrieve, by the media presentation device, a second portion of a second media program from a source other than the channel, a distribution of the second media program on the channel is scheduled to start at a scheduled start-time that corresponds with the scheduled end-time, the second portion of the second media program based on the predicted end-time; use, by the media presentation device, the modified EPG data to generate an EPG; and present, by the media presentation device, the generated EPG.
 15. The non-transitory computer-readable medium of claim 14, wherein the instructions, when executed, cause the processor to determine that the distribution of the first media program on the channel will end later than the scheduled end-time by: using a distribution schedule to determine the scheduled end-time; comparing the scheduled end-time to the predicted end-time of the first media program; and determining that the predicted end-time is later than the determined scheduled end-time.
 16. The non-transitory computer-readable medium of claim 14, wherein the instructions, when executed, the processor to modify the EPG data by adding to the EPG data an indication that the distribution of the first media program on the channel will end later than the scheduled end-time. 